#pragma once
#include "Matrix.h"

class Camera
{
public:
	Vector3 m_position;
	Vector3 m_rotateAngle;
	GLfloat m_fovY;
	GLfloat m_aspect;
	GLfloat m_nearPlane;
	GLfloat m_farPlane;
	Matrix m_projectMatrix;
	GLfloat m_speed;

public:
	Camera(void);
	~Camera(void);

	void Init(GLfloat fovY, GLfloat aspect, GLfloat nearPlane, GLfloat farPlane, GLfloat speed);
	Matrix CalculateWorldMatrix();
	void CalculateProjectMatrix();
	Matrix CalculateViewProjectMatrix();

	void Update();

	void Move(Direction direction);

	void Rotate(Direction direction);
};
